home *** CD-ROM | disk | FTP | other *** search
- #include "select.h"
- #include "trigger.h"
- #ifndef __amigaos__
- #include "open.h"
- #include "hasnpbg1.h"
- static int fd = -1;
- #ifdef HASNAMEDPIPEBUG1
- static int fdw = -1;
- #endif
- #else /* if __amigaos__ */
- #include <dos/dos.h>
- #endif /* __amigaos__ */
-
- void trigger_set()
- {
- #ifndef __amigaos__
- if (fd != -1)
- close(fd);
- #ifdef HASNAMEDPIPEBUG1
- if (fdw != -1)
- close(fdw);
- #endif
- fd = open_read("lock/trigger");
- #ifdef HASNAMEDPIPEBUG1
- fdw = open_write("lock/trigger");
- #endif
- #endif /* ! __amigaos__ */
- }
-
- void trigger_selprep(nfds,rfds)
- int *nfds;
- fd_set *rfds;
- {
- #ifndef __amigaos__
- if (fd != -1)
- {
- FD_SET(fd,rfds);
- if (*nfds < fd + 1) *nfds = fd + 1;
- }
- #endif
- }
-
- #ifndef __amigaos__
- int trigger_pulled(rfds)
- fd_set *rfds;
- {
- if (fd != -1) if (FD_ISSET(fd,rfds)) return 1;
- return 0;
- }
- #else
- int trigger_pulled (unsigned long signals)
- {
- if (signals & SIGBREAKF_CTRL_D)
- return 1;
- else
- return 0;
- }
- #endif
-